package com.jack.payment.entity.result;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jack.payment.util.serializer.BigDecimalSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "统一返回支付信息")
@JsonInclude(value=JsonInclude.Include.NON_NULL)
public class ResultPayVo implements Serializable {
    @Schema(description = "时间戳")
    private Long timeStamp;
    @Schema(description = "随即字符串, 辅助信息")
    private String nonceStr;
    @Schema(description = "订单号")
    private String orderNo;
    @Schema(description = "签名或支付三方信息")
    private String paymentSignature;
    @Schema(description = "本次需要的支付金额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal paymentAmount;
}
